package ui;

import io.DataAccess;

/**
 * The interface that defines the methods for showing and hiding components in the
 * main application window.
 * 
 * @author Aaron Chen
 * @version 3/14/2014
 */
public interface MainComponent {

//  /**
//   * Adds this component to the display navigation stack in the main window and
//   * immediately shows it.
//   */
//  void showInMain();
//  
//  /**
//   * Removes this component from the display navigation stack in the main window.
//   * Any items above this component in the stack are also removed.
//   */
//  void removeInMain();
  
  /**
   * Returns the MainPage reference.
   * @return The MainPage.
   */
  DisplayPanel getDisplayStack();
  
  /**
   * Returns the access to the database.
   * @return The database.
   */
  DataAccess getDatabase();
  
  /**
   * Returns the label by which the panel will be represented by in the main window's
   * display navigation stack.
   * @return The label representing the panel.
   */
  String getPanelLabel();
  
}
